package com.zxwl.base.service;

import java.io.Serializable;
import java.util.List;

import com.zxwl.base.dao.DataPage;
import com.zxwl.base.dao.QueryParameter;



public interface IBaseService<E>
{
	
	public E createEntity() throws InstantiationException, IllegalAccessException;
	/**
	 * 分页查询
	 * @param dataPage
	 */
	public List<E> queryForPage(DataPage<E> dataPage);
	
	/**
	 * 
	 * @param queryParameter
	 * @return
	 */
	public List<E> queryList(QueryParameter queryParameter);
	/**
	 * 查询
	 * @param id 实体的ID
	 */
	public E query(Serializable  id);
	
	/**
	 * 新增实体的保存
	 * entity 实体对象
	 */
	public void save(E entity);
	
	/**
	 * 修改的实体的保存
	 * @param entity
	 */
	public void update(E entity);
	
	/**
	 * 删除实体
	 * @param id
	 */
	public void delete(Serializable id);
	
	/**
	 * 判断实体记录是否已经改变
	 */
	public Boolean isChanged(E entity);
	
	
}
